package com.woniu.dating.service;

import com.woniu.dating.dto.GameTestDTO;
import com.woniu.dating.pojo.DatingGame;
import com.baomidou.mybatisplus.extension.service.IService;
import com.woniu.dating.vo.DatingLoginVO;
import com.woniu.dating.vo.RecommendVO;

import java.util.List;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author 玖柒
 * @since 2023-05-20
 */
public interface IDatingGameService extends IService<DatingGame> {

    /**
     * 查询游戏记录
     * @param datingLoginVO
     * @return
     */
    DatingGame getDatingGame(DatingLoginVO datingLoginVO);

    /**
     * 新增用户的游戏记录进去
     * @param gameTestDTO
     * @param datingLoginVO
     */
    void addDatingGame(GameTestDTO gameTestDTO, DatingLoginVO datingLoginVO);

    /**
     * 修改游戏数据
     * @param gameTestDTO
     * @param datingLoginVO
     */
    void updateDatingGame(GameTestDTO gameTestDTO, DatingLoginVO datingLoginVO,Integer id);

    /**
     * 去匹配所有的异性，按照分数匹配，
     * @param datingLoginVO
     */
    void listMatchingDating(DatingLoginVO datingLoginVO);

    /**
     * 返回匹配到的对象
     * @return
     */
    List<RecommendVO> listMatchingOutcome(DatingLoginVO datingLoginVO);

    /**
     * 支付2比特币，生成查看记录，当前用户扣两颗，被查看用户扣一颗
     * @param userId
     * @param datingLoginVO
     */
    void payBitcoin(Integer userId, DatingLoginVO datingLoginVO);
}
